home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 24 / AMIGAplus Sonderheft 24 (2000)(Falke)(DE)[!].iso / PublicDomain / Anwendungen / MT-RechnungIII / Rexx / XXRegUmschlag_DL.brarexx < prev    next >
Text File  |  1998-07-29  |  10KB  |  242 lines

  1. /*
  2. ** Druck-, Vorschau, Sichern der Registrierungsumschlag DJ-Format
  3. ** $VER: XXRegUmschlag_DJ.brarexx V1.00 (30.07.98)
  4. */
  5.  
  6. PARSE ARG ARexxPort;
  7.  
  8. ADDRESS VALUE ARexxPort;
  9. OPTIONS RESULTS;
  10.  
  11. /*********************************************************************/
  12. /* Druckerunabhängige Standard-ANSI-Escape-Sequenzen und ASCII-Zeich.*/
  13. /* Siehe auch Workbench-Handbuch (bei OS3.1: Kapitel 9.6.1)                */
  14. /*********************************************************************/
  15. CR                    = '0d'x;                            /* Wagenrücklauf                */
  16. LF                    = '0a'x;                            /* Zeilenvorschub                */
  17. FF                    = '0c'x;                            /* Seitenvorschub                */
  18. TAB                = '09'x;                            /* Tabulator                    */
  19. ESC                = '1b'x;                            /* ESC                            */
  20. aRIS                = ESC || "c";                    /* Drucker zurücksetzen        */
  21. aRIN                = ESC || "#1";                    /* Drucker initialisieren    */
  22. aIND                = ESC || "D";                    /* Zeilenvorschub                */
  23. aNEL                = ESC || "E";                    /* Wagenruecklauf +            */
  24. aRI                = ESC || "M";                    /* umgekehrter Zeilenvors.    */
  25. aSGR0                = ESC || "[0m";                /* Normaler Zeichensatz        */
  26. aSGR3                = ESC || "[3m";                /* Kursivdruck            EIN    */
  27. aSGR23            = ESC || "[23m";                /* Kursivdruck            AUS    */
  28. aSGR4                = ESC || "[4m";                /* Unterstreichung    EIN    */
  29. aSGR24            = ESC || "[24m";                /* Unterstreichung    AUS    */
  30. aSGR1                = ESC || "[1m";                /* Fettdruck            EIN    */
  31. aSGR22            = ESC || "[22m";                /* Fettdruck            AUS    */
  32. aSFC_0            = ESC || "[30m";                /* Farbe Schrift: Schwarz    */
  33. aSFC_1            = ESC || "[31m";                /* Farbe Schrift: Rot        */
  34. aSFC_2            = ESC || "[32m";                /* Farbe Schrift: Grün        */
  35. aSFC_3            = ESC || "[33m";                /* Farbe Schrift: Gelb        */
  36. aSFC_4            = ESC || "[34m";                /* Farbe Schrift: Violett    */
  37. aSFC_5            = ESC || "[35m";                /* Farbe Schrift: Magenta    */
  38. aSFC_6            = ESC || "[36m";                /* Farbe Schrift: Zyan        */
  39. aSFC_7            = ESC || "[37m";                /* Farbe Schrift: Schwarz    */
  40. aSFC_8            = ESC || "[38m";                /* Farbe Schrift: Schwarz    */
  41. aSFC_9            = ESC || "[39m";                /* Farbe Schrift: Schwarz    */
  42. aSBC_0            = ESC || "[40m";                /* Farbe Hinterg: Weiß        */
  43. aSBC_1            = ESC || "[41m";                /* Farbe Hinterg: Rot        */
  44. aSBC_2            = ESC || "[42m";                /* Farbe Hinterg: Grün        */
  45. aSBC_3            = ESC || "[43m";                /* Farbe Hinterg: Gelb        */
  46. aSBC_4            = ESC || "[44m";                /* Farbe Hinterg: Violett    */
  47. aSBC_5            = ESC || "[45m";                /* Farbe Hinterg: Magenta    */
  48. aSBC_6            = ESC || "[46m";                /* Farbe Hinterg: Zyan        */
  49. aSBC_7            = ESC || "[47m";                /* Farbe Hinterg: Schwarz    */
  50. aSBC_8            = ESC || "[48m";                /* Farbe Hinterg: Schwarz    */
  51. aSBC_9            = ESC || "[49m";                /* Farbe Hinterg: Schwarz    */
  52. aSHORP0            = ESC || "[0w";                /* Normale Zeichendichte    */
  53. aSHORP            = ESC || "[2w";                /* Zeichend. "Elite"    EIN    */
  54. aSHORP1            = ESC || "[1w";                /* Zeichend. "Elite"    AUS    */
  55. aSHORP4            = ESC || "[4w";                /* Engschrift            EIN    */
  56. aSHORP3            = ESC || "[3w";                /* Engschrift            AUS    */
  57. aSHORP6            = ESC || "[6w";                /* Breitdruck            EIN    */
  58. aSHORP5            = ESC || "[5w";                /* Breitdruck            AUS    */
  59. aDEN6                = ESC || "[6"||'22'x||"z";    /* Schattendruck        EIN    */
  60. aDEN5                = ESC || "[5"||'22'x||"z";    /* Schattendruck        AUS    */
  61. aDEN4                = ESC || "[4"||'22'x||"z";    /* Doppeldruck            EIN    */
  62. aDEN3                = ESC || "[3"||'22'x||"z";    /* Doppeldruck            AUS    */
  63. aDEN2                = ESC || "[2"||'22'x||"z";    /* NLQ/LQ                EIN    */
  64. aDEN1                = ESC || "[1"||'22'x||"z";    /* NLQ/LQ                AUS    */
  65. aSUS2                = ESC || "[2v";                /* Hochstellung        EIN    */
  66. aSUS1                = ESC || "[1v";                /* Hochstellung        AUS    */
  67. aSUS4                = ESC || "[4v";                /* Tiefstellung        EIN    */
  68. aSUS3                = ESC || "[3v";                /* Tiefstellung        AUS    */
  69. aSUS0                = ESC || "[0v";                /* Zeile Zurück zu Normal    */
  70. aPLU                = ESC || "1";                    /* Textzeile nach oben        */
  71. aPLD                = ESC || "K";                    /* Textzeile nach unten        */
  72. aFNT0                = ESC || "(B";                    /* Zeichensatz US                */
  73. aFNT1                = ESC || "(R";                    /* Zeichensatz Französisch    */
  74. aFNT2                = ESC || "(K";                    /* Zeichensatz Deutsch        */
  75. aFNT3                = ESC || "(A";                    /* Zeichensatz GB                */
  76. aFNT4                = ESC || "(E";                    /* Zeichensatz Dänisch I    */
  77. aFNT5                = ESC || "(H";                    /* Zeichensatz Schwedisch    */
  78. aFNT6                = ESC || "(Y";                    /* Zeichensatz Italienisch    */
  79. aFNT7                = ESC || "(Z";                    /* Zeichensatz Spanisch        */
  80. aFNT8                = ESC || "(J";                    /* Zeichensatz Japanisch    */
  81. aFNT9                = ESC || "(6";                    /* Zeichensatz Norwegisch    */
  82. aFNT10            = ESC || "(C";                    /* Zeichensatz Dänisch II    */
  83. aPROP2            = ESC || "[2p";                /* Proportionaldruck    EIN    */
  84. aPROP1            = ESC || "[1p";                /* Proportionaldruck    AUS    */
  85. aPROP0            = ESC || "[0p";                /* Proportionaldruck    lösch.*/
  86. aTSS                = ESC;                            /* Rand Proport.d. setzen    */
  87.                                                         /* z.B. Rand5: aTSS || "5E"*/
  88. aJFY5                = ESC || "[5 F";                /* Automat. linksbündig     */
  89. aJFY7                = ESC || "[7 F";                /* Automat. rechtsbünbünd.    */
  90. aJFY6                = ESC || "[6 F";                /* Automat. Randausgleich    */
  91. aJFY0                = ESC || "[0 F";                /* Automat. Formatier. AUS    */
  92. aJFY3                = ESC || "[3 F";                /* Zeichenabstand (format.)*/
  93. aJFY1                = ESC || "[1 F";                /* Automat. Zentrieren        */
  94. aVERP0            = ESC || "[0z";                /* Zeilenabstand 1/8 Zoll    */
  95. aVERP1            = ESC || "[1z";                /* Zeilenabstand 1/6 Zoll    */
  96. aSLPP                = ESC || "[";                    /* Seitenlänge, z.B. 66 Z.    */
  97.                                                         /* aSLPP || "66t"                */
  98. aPERF                = ESC || "[";                    /* Perforation überspring.    */
  99.                                                         /* z.B. aPERF || "5q"        */
  100. aPERF0            = ESC || "[0q";                /* Perforation übespr. AUS    */
  101. aLMS                = ESC || "#9";                    /* Linken Rand setzen        */
  102. aRMS                = ESC || "#0";                    /* Rechten Rand setzen        */
  103. aTMS                = ESC || "#8";                    /* Oberen Rand setzen        */
  104. aBMS                = ESC || "#2";                    /* Unteren Rand setzen        */
  105. aSTBM                = ESC || "[";                    /* Oberen und unteren Rand    */
  106.                                                         /* z.B. aSTBM || "5;66r"    */
  107. aSLRM                = ESC || "[";                    /* Linken und rechten Rand    */
  108.                                                         /* z.B. aSLRM || "5;75s"    */
  109. aCAM                = ESC || "#3";                    /* Ränder löschen                */
  110. aHTS                = ESC || "H";                    /* Horizontaltabulator setz*/
  111. aVTS                = ESC || "J";                    /* Vertikaltabulator setzen*/
  112. aTBC0                = ESC || "[0g";                /* Horizontaltab. löschen    */
  113. aTBC3                = ESC || "[3g";                /* alle Horizontaltab. lös.*/
  114. aTBC1                = ESC || "[1g";                /* Vertikaltab. löschen        */
  115. aTBC4                = ESC || "[4g";                /* alle Vertikaltab. lösch.*/
  116. aTBCALL            = ESC || "#4";                    /* alle Tabulatoren löschen*/
  117. aTBSALL            = ESC || "#5";                    /* Standardtab. setzen        */
  118. aEXTEND_1        = ESC || "[1"||'22'x||"x";    /* Erweiterte Befehle        */
  119. aEXTEND_2        = ESC || "[2"||'22'x||"x";    /* Erweiterte Befehle        */
  120. aEXTEND_3        = ESC || "[3"||'22'x||"x";    /* Erweiterte Befehle        */
  121. aEXTEND_4        = ESC || "[4"||'22'x||"x";    /* Erweiterte Befehle        */
  122. aEXTEND_5        = ESC || "[5"||'22'x||"x";    /* Erweiterte Befehle        */
  123. aEXTEND_6        = ESC || "[6"||'22'x||"x";    /* Erweiterte Befehle        */
  124. aEXTEND_7        = ESC || "[7"||'22'x||"x";    /* Erweiterte Befehle        */
  125. aEXTEND_8        = ESC || "[8"||'22'x||"x";    /* Erweiterte Befehle        */
  126. aEXTEND_9        = ESC || "[9"||'22'x||"x";    /* Erweiterte Befehle        */
  127. aRAW_1            = ESC || "[1"||'22'x||"r";    /* Direkte Befehle            */
  128. aRAW_2            = ESC || "[2"||'22'x||"r";    /* Direkte Befehle            */
  129. aRAW_3            = ESC || "[3"||'22'x||"r";    /* Direkte Befehle            */
  130. aRAW_4            = ESC || "[4"||'22'x||"r";    /* Direkte Befehle            */
  131. aRAW_5            = ESC || "[5"||'22'x||"r";    /* Direkte Befehle            */
  132. aRAW_6            = ESC || "[6"||'22'x||"r";    /* Direkte Befehle            */
  133. aRAW_7            = ESC || "[7"||'22'x||"r";    /* Direkte Befehle            */
  134. aRAW_8            = ESC || "[8"||'22'x||"r";    /* Direkte Befehle            */
  135. aRAW_9            = ESC || "[9"||'22'x||"r";    /* Direkte Befehle            */
  136.  
  137.  
  138. /* Oberfläche sperren */
  139. LOCKGUI;
  140.  
  141. /* Art ermitteln: 0 = Drucken, 1 = Vorschau, 2 = Speichern */
  142. PRINTSTATE;
  143. Druckart = MTR_RESULT;
  144.  
  145. Ende_Kennzeichen = 'N';
  146.  
  147. /* Suchen der zu druckenden Daten */
  148. PRINTFIND;
  149. DO WHILE( MTR_RESULT > 0 & Ende_Kennzeichen = 'N');
  150.     SELECT;
  151.         WHEN Druckart = 0 THEN
  152.             CALL DruckRoutine;
  153.         WHEN Druckart = 1 THEN
  154.             CALL VorschauRoutine;
  155.         WHEN Druckart = 2 THEN
  156.             CALL SpeichernRoutine;
  157.         OTHERWISE
  158.             DO;
  159.                 ES_TITLE                = "Warnung";
  160.                 ES_TEXTFORMAT        = "Druckart wird nicht unterstützt!";
  161.                 ES_GADGETFORMAT    = "Ok";
  162.                 EASY_REQUEST;
  163.                 Ende_Kennzeichen    = 'J';
  164.             END;
  165.     END;
  166.  
  167.     PRINTFIND;
  168. END;
  169.  
  170. /* Oberfläche wieder entsperren */
  171. FREEGUI;
  172.  
  173. EXIT;
  174.  
  175. /* Routine, die die eigentliche Druckausgabe realisiert */
  176. DruckRoutine:
  177.     IF OPEN(Dru_Dat, "prt:", "write") THEN
  178.         DO;
  179.             CALL DatenAufbereiten;
  180.             WRITECH( Dru_Dat, DruckString );
  181.             CLOSE(Dru_Dat);
  182.         END;
  183. RETURN;
  184.  
  185.  
  186. /* Routine, die die Druckvorschau realisiert */
  187. VorschauRoutine:
  188.     IF OPEN(Dru_Dat, "t:MTR_Vorschau",